#pragma once
#include "speaker.h"
#include <iostream>
#include <string>
#include <stdlib.h>
#include <map>
#include <algorithm>
#include <vector>
#include <deque>
#include <functional>
#include <numeric>
#include <fstream>
#include <ctime>

using namespace std;

class SpeechManager
{
public:
    //构造函数
    SpeechManager();

    //菜单功能
    void show_menu();

    //退出系统
    void exitSystem();

    //析构函数
    ~SpeechManager();

    //初始化容器和属性
    void initSpeech();

    //创建12名选手
    void creatSpeaker();

    //比赛开始，定义整个比赛流程控制函数
    void startSpeech();

    //抽签
    void speechDraw();

    //比赛
    void speechContest();

    //显示得分
    void showScore();

    //保存每次比赛的记录
    void saveRecord();

    //导出文件内容
    void loadRecord();

    //清空文件
    void clearRecord();
    
    //存放比赛轮数
    int m_Index;

    //定义vector容器保存第一轮选手编号
    vector<int> v1;

    //定义vector容器保存第一轮晋级的选手编号
    vector<int> v2;

    //定义vector容器存放胜出的前三名选手的编号
    vector<int> vVictory;

    //初始化map容器，用于存放Speaker和编号
    map<int, Speaker> m_Speaker;

    //初始化map容器，用于存放以前的比赛记录
    map<int, vector<string> > m_Record;

    bool fileIsEmpty;
};
